package com.hundunjiang.LinkList;

public class LinkListDoubleBase {

    /**
     *  双向链表的头插法
     * */
    public LinkListDouble insert(LinkListDouble linkListDouble,String value){
        // 创建一个新的节点并且赋值
        LinkListDouble newLinkListDouble=new LinkListDouble();
        newLinkListDouble.setData(value);
        // 如果为空让头节点的后驱指向心节点
        if (linkListDouble.getNext()==null){
            linkListDouble.setNext(newLinkListDouble);
        }
        // 让新节点的后驱指向头节点的下一个节点
        newLinkListDouble.setNext(linkListDouble.getNext());
        // 让头节点的下一个节点的前驱指向新节点
        linkListDouble.getNext().setPre(newLinkListDouble);
        // 让头节点的后驱指向新节点
        linkListDouble.setNext(newLinkListDouble);
        // 让新节点d前去指向头节点
        newLinkListDouble.setPre(linkListDouble);
        // 返回头节点
        return linkListDouble;
    }


    /**
     *  双向链表的尾插法
     * */

    public void yf(){
        return;
    }
}
